•
All payment models live in PaymentProcessor
•
High coupling: dependencies created on every provider + helper (today and all future)
•
Many reasons to change:
•
- new payment type
•
- API change (PayPal/gateway/crypto)
•
- validation/encryption rules
•
Hard to test: must mock unrelated systems